package com.crm.dao.mapper.customMapper.sys;

import com.crm.model.qo.sys.ImportFailureLogQO;
import com.crm.model.vo.sys.ImportFailureLogVO;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ Author ：pym
 * @ Date   ：2021/5/28 11:01
 */
public interface ImportFailureLogCustomMapper {
    /**
     * 客户冲突数据列表
     * @Author pym
     * @Date  2021/5/28 11:13
     * @param importFailureLogQO -查询条件
     * @param accountId -账号ID
     * @return {@link {java.util.List<com.crm.model.vo.sys.ImportFailureLogVO>}}
     */
    List<ImportFailureLogVO> selectCustomerConflictList(@Param("importFailureLogQO") ImportFailureLogQO importFailureLogQO,
                                                          @Param("accountId") String accountId);

    /**
     * 客户导入失败数据列表
     * @Author pym
     * @Date  2021/5/28 14:01
     * @param importFailureLogQO -查询条件
     * @param accountId -账号ID
     * @return {@link {java.util.List<com.crm.model.vo.sys.ImportFailureLogVO>}}
     */
    List<ImportFailureLogVO> selectImportFailedDataList(@Param("importFailureLogQO") ImportFailureLogQO importFailureLogQO,
                                                        @Param("accountId") String accountId);

    /**
     * 订单导入失败数据列表
     * @Author pym
     * @Date  2021/6/8 15:08
     * @param importFailureLogQO -查询条件
     * @param accountId -账号ID
     * @return {@link {java.util.List<com.crm.model.vo.sys.ImportFailureLogVO>}}
     */
    List<ImportFailureLogVO> selectOrderImportFailedDataList(@Param("importFailureLogQO") ImportFailureLogQO importFailureLogQO,
                                                        @Param("accountId") String accountId);

    /**
     * 查询日志记录
     * @param importName
     * @param operateType
     * @param companyId
     * @param accountId
     * @return
     */
    List<ImportFailureLogVO> selectImportFailureLogByNameAndType(@Param("importName") String importName,
                                                           @Param("operateType") Integer operateType,
                                                           @Param("companyId") String companyId,
                                                           @Param("accountId") String accountId);
}
